Implicit Computational Complexity, Non-uniformity and the Lambda-Calculus
نویسنده
چکیده
Implicit computational complexity. Loosely speaking, the aim of implicit computational complexity is to replace clocks (or other explicit resource bounds) with certificates. For example, if we consider polynomial time computation, the idea is to define a structured programming language whose programs are guaranteed to be polytime by construction, i.e., because they satisfy some syntactic condition, not because their execution is artificially stopped after a polynomial number of steps (which is the “explicit” definition used in computational complexity). At the same time, such a programming language must be expressive enough so that every polynomial time function may be somehow implemented. Notable early examples of such methodology are the work of Bellantoni and Cook [BC92], Leivant and Marion [LM93], and Jones [Jon99]. Although there is an annual international workshop on the topic,1 implicit computational complexity is a niche research subject which rarely appears in mainstream programming languages conferences. Nevertheless, it is thematically relevant, both in terms of techniques (type systems, proof theory, semantics. . . ) and potential applications (mostly program analysis [JHLM10, DLG11], but people like Patrick Baillot, Gilles Barthe and Ugo Dal Lago are starting to develop applications to the verification of cryptosystems).
منابع مشابه
Quantum implicit computational complexity
We introduce a quantum lambda calculus inspired by Lafont’s Soft Linear Logic and capturing the polynomial quantum complexity classes EQP, BQP and ZQP. The calculus is based on the ‘‘classical control and quantum data’’ paradigm. This is the first example of a formal systemcapturing quantumcomplexity classes in the spirit of implicit computational complexity — it is machine-free and no explicit...
متن کاملA type assignment for lambda-calculus complete both for FPTIME and strong normalization
One of the aims of Implicit Computational Complexity is the design of programming languages with bounded computational complexity; indeed, guaranteeing and certifying a limited resources usage is of central importance for various aspects of computer science. One of the more promising approaches to this aim is based on the use of lambda-calculus as paradigmatic programming language and the desig...
متن کاملPolynomial Time in the Parametric Lambda Calculus
In this paper we investigate Implicit Computational Complexity via the parametric lambda calculus of Ronchi Della Rocca and Paolini [13]. We show that a particular instantiation of the set of input values leads to a characterization of polynomial time computations in a similar way to Lafont’s Soft Linear Logic [9]. This characterization is manifestly type-free and does not require any ad hoc ex...
متن کاملLogic in Milan
Speaker: Marco Gaboardi (Bologna) Title: Light Logics: a tool for polynomial time in functional programming Abstract: We overview the Light Logics approach to Implicit Computational Complexity presenting different proposals for the class of polynomial time functions. We focus on the use of light logics in designing type systems for the Lambda Calculus considered as a core functional programming...
متن کاملOn Constructor Rewrite Systems and the Lambda-Calculus
We prove that orthogonal constructor term rewrite systems and lambda-calculus with weak (i.e., no reduction is allowed under the scope of a lambda-abstraction) call-by-value reduction can simulate each other with a linear overhead. In particular, weak call-by-value betareduction can be simulated by an orthogonal constructor term rewrite system in the same number of reduction steps. Conversely, ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014